/*=============================================================================

  IMAGE VIEW
  
  FILE: GImgVw.h
  
  DESCRIPTION

    Module for Application

  EXTERNALIZED FUNCTIONS

    
  Copyright (c) DaeSung Engineering Inc. All rights reserved.

=============================================================================*/
/*=============================================================================

                             EDIT HISTORY

  ---------  -------  -------------------------------------------------------
    when       who     what, where, why
  ---------  -------  -------------------------------------------------------
   05/26/05   pkim    Version E01.0

=============================================================================*/

#ifndef _GIMGVW_H_
#define _GIMGVW_H_

/*=============================================================================
  HEADER INCLUSION
=============================================================================*/
#include <Cust_AppDef.h>

/*=============================================================================
  CONSTANT DEFINITION
=============================================================================*/

/*=============================================================================
  ENUMERATORS
=============================================================================*/
//--- DRAWING.MASK
typedef enum
{
	GIMG_NAME_DRW = 0x00000001,

	GIMG_CENTER_DRW = 0x00000002, // CENTER.LINE
} GImgVw_DRWMASK_e;

//---USER.CALLBACK
typedef enum
{
	GIMG_LDBLCLK_E = 0,
	GIMG_RDBLCLK_E = 1,
	GIMG_LBTNDOWN_E = 2,
	GIMG_LBTNUP_E = 3,
	GIMG_MOVE_E = 4,
} GImgVw_EVENT_e;

/*=============================================================================
  CLASS FUNCTION DEFINITION
=============================================================================*/
class GImgVw : public GImg
{
	//DECLARE_DYNCREATE(GImgVw)
public:
	GImgVw();
	virtual ~GImgVw();

public:
/*---------------------------------------------------------
  BASIC MEMBERS
---------------------------------------------------------*/
public:
	BOOL WindowCreate(const char *szTitle, int x, int y, \
						int w, int h, BYTE nStyle, CWnd *pParent);

	//--- USER.INTERFACE
	void CLIENTset(ObjClient_s *c);

	//--- EGD.SPECIFIC
	void DRWname(char *name);
	void DRWmask(dword mask);
	Img2D GetImage(void);
	void RESIZE(int32 x, int32 y, int32 w, int32 h);
	void CLEAR(void);
	void FLUSH(void);
	
	//---OVERRIDE
	void SetImage(Img2D o);
	void Text_Draw(int x, int y, char *pStr, DWORD dwColor);

protected:
	void DRAW(void);
	
protected:
	ObjClient_s	m_cli;
	dword		m_drwMASK;
	char			m_drwNAME[64];
	
	Img2D		m_usrIMG;
	
/*---------------------------------------------------------
  AFX MESSAGE HANDLER
-----------------------------------------------------------*/
protected:
	DECLARE_MESSAGE_MAP()
public:
	virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
	virtual BOOL PreTranslateMessage(MSG* pMsg);
};

#endif /* _GIMGVW_H_ */

/*--- END OF GImgVw.H ---*/
